Go nil 详解
a0 := make(map[string][]int, 0)
var a1 []int
a2 := []int{}
a3 := make([]int, 0)
if a0["zero"] == nil {
// yes
fmt.Println("a0 is nil")
}
if a1 == nil {
// yes
fmt.Println("a1 is nil")
}
if a2 == nil {
// no
fmt.Println("a2 is nil")
}
if a3 == nil {
// no
fmt.Println("a3 is nil")
}
// won't panic
a0["zero"] = append(a0["zero"], 1)
a1 = append(a1, 1)
a2 = append(a2, 1)
a3 = append(a3, 1)